# 对RDD数据进行分组
#coding:utf8
from pyspark import SparkContext,SparkConf

if __name__ == '__main__':
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    sc = SparkContext(conf=conf)

    rdd = sc.parallelize([("a",1),("b",2),("c",3),("a",2),("b",3),("c",4)])

    # groupBy传入的函数意思是通过这个函数，确定按照谁来分组
    # 按照字母分组,分组后是一个迭代器对象,需要用list()方法强转成list打印出来
    print(rdd.groupBy(lambda t:t[0]).map(lambda t:list(t[1])).collect())
    # 按照数字分组
    print(rdd.groupBy(lambda t: t[1]).map(lambda t:list(t[1])).collect())